﻿using KinectWindows.Math;
using KinectWindows.Windows;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KinectWindowLib
{
    /// <summary>
    /// The Screen Object all Screen must Drive from this class
    /// </summary>
    public class Screen
    {
        // The screen ID
       Display display;
       public Display Display { get { return display; } }
      
        // A uniq Identifier for the Screen
      public long Id { get; set; }
        // The Location odf the Screen in the Display
      public Vector2 Location { set; get; }
        // the Bounds of the Screen if Id=0 that is the root screen
      public Vector4 Bounds { set; get; }

      public Dictionary<long, NuiWindow> ScreenWindows { set; get; }
     
        // Add A Window to the Screen Window Collection
        public void Add(NuiWindow wind)
        {
            ScreenWindows.Add(wind.Id,wind);
        }
        // Set Screen Bounds
        public void SetBounds(int X, int Y, Double Width, Double Height)
        {
            Bounds = new Vector4((float)X, (float)Y,(float)(X + Width),(float)(Y + Height));
        }


        // Generate A window ID
        public long GenerateWindowID(NuiWindow nui)
        {
            return ScreenWindows.Count+1;
        }
      
    }
}
